Computer networks such as the Internet are well known today. Such networks include communication media, firewalls, routers, network switches and hubs. (Typically, firewalls, network switches and hubs includes routers.) Networks often interconnect client computers and servers to each other. In the case of communications through the Internet, typically there are many routers and many possible routing paths between a source computer and a destination device (for example, a destination computer or gateway to a subnet) via the Internet. When a message arrives at a router, the router makes a decision as to the next router or “hop” in a path to the destination device. There are many known algorithms for making this decision, such as Open Shorted Path First (OSPF), Interior Gateway Routing Protocol (IGRP), Enhanced Interior Gateway Routing Protocol (EIGRP), Intermediate System to Intermediate System (ISIS), or Border Gateway Protocol (BGP). The RIP, OSPF and ISIS protocols attempt to route message packets to a destination via the shortest path, i.e. fewest number of intervening routers. Routers using the OSPF protocol also can determine the bandwidth of the path to the next hop based on the interface used for forwarding the message packet to the next hop. The IGRP and EIGRP protocols attempt to route message packets based on greatest bandwidth, shortest delays and shortest path factors. The BGP protocol attempts to route message packets based on shortest Autonomous System path (i.e. fewest number of routers within a single administrative control), least multi-exit discriminator (“MED”) (i.e. a preference for one route over another that is advertised to neighboring routers, etc.). The OSPF, IGRP, EIGRP and BGP routing functions identify and record more than one route to most destination devices, and attempt to utilize them in order of their respective routing policy.
Occasionally, a router fails or the communication link to the router fails. Also, for wireless connections, a router may experience a high noise level or weak signal strength under certain conditions, such as long distance from a broadcast location or intervening terrain. Consequently, a router may become unavailable after its last broadcast of availability, or become unavailable after partial download of a lengthy message (such as a lengthy file). Also, a router with very high noise level or weak signal strength may be unable to accurately receive message packets.
A prior art BGP protocol has a “Dampening” function which tracks whether a preferred path or “route” to a corresponding IP address has frequently been updated. This occurs when (a) some of routers in the path have changed, (b) some of the interfaces (such as Ethernet, Fibre, T1 or OC3 dedicated line) of routers in the path have changed, or (c) an administrator has made changes to the configuration (such as length of path through router), applies a routing policy, or filters routes of routers in the route. Every time there is such a change to the “route” to a destination IP address, then every router participating in the BGP instance and other routers to which they have broadcast, etc. rebroadcast the route to this destination IP address. If there are more than a threshold number of changes to the route within a predetermined interval, then the BGP Dampening function removes the route altogether from its routing tables. Consequently, if the router with this BGP Dampening function receives a message packet with a destination IP address corresponding to a route which has been removed, then the router will drop the message packet. (If the route later “settles down”, i.e. does not change much over the next predetermined interval, then the BGP Dampening function will restore the route to its routing table and thereafter forward message packets along this route to the respective destination IP address.)
An object of the present invention is to better control routing decisions.
Another object of the present invention is to reduce the number of dropped packets.